package com.ruoyi.system.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 老人请假管理对象 check_in_leave
 *
 * @author ruoyi
 * @date 2023-02-15
 */
public class CheckInLeave extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 长者姓名 */
    @Excel(name = "长者姓名")
    private String elderName;

    /** 长者身份证号码 */
    @Excel(name = "长者身份证号码")
    private String identityNo;

    /** 动态库老人的主键 */
    private Long personId;

    /** 床位id */
    private Long bedId;

    /** 床位全称 */
    private String bedName;

    /** 陪同人员姓名 */
    @Excel(name = "陪同人员姓名")
    private String entourageName;

    /** 陪同人员电话 */
    @Excel(name = "陪同人员电话")
    private String entouragePhone;

    /** 外出理由(0.探亲,1.看病,2.体检) */
    @Excel(name = "外出理由(0.探亲,1.看病,2.体检)")
    private String reasons;

    /** 目的地 */
    @Excel(name = "目的地")
    private String destination;

    /** 是否返回(0,未返回，1.已返回) */
    @Excel(name = "是否返回(0,未返回，1.已返回)")
    private String isComeBack;

    /** 预计外出时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预计外出时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date estimateOutTime;

    /** 预计返回时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预计返回时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date estimateBackTime;

    /** 实际外出时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际外出时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date realityOutTime;

    /** 实际返回时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "实际返回时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date realityBackTime;

    /** 入住id */
    @Excel(name = "入住id")
    private Long checkInId;

    /** 用户ID */
    private Long userId;

    /** 部门id */
    private Long deptId;

    /** 第一个父类部门id */
    private Long deptFirstParentId;

    /** 删除标志（0代表存在 1代表删除） */
    private String delFlag;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setElderName(String elderName)
    {
        this.elderName = elderName;
    }

    public String getElderName()
    {
        return elderName;
    }
    public void setIdentityNo(String identityNo)
    {
        this.identityNo = identityNo;
    }

    public String getIdentityNo()
    {
        return identityNo;
    }
    public void setPersonId(Long personId)
    {
        this.personId = personId;
    }

    public Long getPersonId()
    {
        return personId;
    }
    public void setBedId(Long bedId)
    {
        this.bedId = bedId;
    }

    public Long getBedId()
    {
        return bedId;
    }
    public void setBedName(String bedName)
    {
        this.bedName = bedName;
    }

    public String getBedName()
    {
        return bedName;
    }
    public void setEntourageName(String entourageName)
    {
        this.entourageName = entourageName;
    }

    public String getEntourageName()
    {
        return entourageName;
    }
    public void setEntouragePhone(String entouragePhone)
    {
        this.entouragePhone = entouragePhone;
    }

    public String getEntouragePhone()
    {
        return entouragePhone;
    }
    public void setReasons(String reasons)
    {
        this.reasons = reasons;
    }

    public String getReasons()
    {
        return reasons;
    }
    public void setDestination(String destination)
    {
        this.destination = destination;
    }

    public String getDestination()
    {
        return destination;
    }
    public void setIsComeBack(String isComeBack)
    {
        this.isComeBack = isComeBack;
    }

    public String getIsComeBack()
    {
        return isComeBack;
    }
    public void setEstimateOutTime(Date estimateOutTime)
    {
        this.estimateOutTime = estimateOutTime;
    }

    public Date getEstimateOutTime()
    {
        return estimateOutTime;
    }
    public void setEstimateBackTime(Date estimateBackTime)
    {
        this.estimateBackTime = estimateBackTime;
    }

    public Date getEstimateBackTime()
    {
        return estimateBackTime;
    }
    public void setRealityOutTime(Date realityOutTime)
    {
        this.realityOutTime = realityOutTime;
    }

    public Date getRealityOutTime()
    {
        return realityOutTime;
    }
    public void setRealityBackTime(Date realityBackTime)
    {
        this.realityBackTime = realityBackTime;
    }

    public Date getRealityBackTime()
    {
        return realityBackTime;
    }
    public void setCheckInId(Long checkInId)
    {
        this.checkInId = checkInId;
    }

    public Long getCheckInId()
    {
        return checkInId;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setDeptId(Long deptId)
    {
        this.deptId = deptId;
    }

    public Long getDeptId()
    {
        return deptId;
    }
    public void setDeptFirstParentId(Long deptFirstParentId)
    {
        this.deptFirstParentId = deptFirstParentId;
    }

    public Long getDeptFirstParentId()
    {
        return deptFirstParentId;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("elderName", getElderName())
            .append("identityNo", getIdentityNo())
            .append("personId", getPersonId())
            .append("bedId", getBedId())
            .append("bedName", getBedName())
            .append("entourageName", getEntourageName())
            .append("entouragePhone", getEntouragePhone())
            .append("reasons", getReasons())
            .append("destination", getDestination())
            .append("isComeBack", getIsComeBack())
            .append("estimateOutTime", getEstimateOutTime())
            .append("estimateBackTime", getEstimateBackTime())
            .append("realityOutTime", getRealityOutTime())
            .append("realityBackTime", getRealityBackTime())
            .append("checkInId", getCheckInId())
            .append("userId", getUserId())
            .append("deptId", getDeptId())
            .append("deptFirstParentId", getDeptFirstParentId())
            .append("remark", getRemark())
            .append("delFlag", getDelFlag())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
